package com.varian.system.vo;

import com.varian.tool.model.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @author ben
 * @since 2024/7/23
 */
@Data
@Schema(title = "API日志项视图对象")
public class ApiLogVO extends BaseVO {
    @Schema(title = "traceId")
    private String traceId;
    @Schema(title = "服务名称")
    private String serverName;
    @Schema(title = "服务主机")
    private String serverHost;
    @Schema(title = "服务IP")
    private String serverIp;
    @Schema(title = "客户端信息")
    private String userAgent;
    @Schema(title = "客户端IP")
    private String userIp;
    @Schema(title = "请求方法")
    private String requestMethod;
    @Schema(title = "请求URL")
    private String requestUrl;
    @Schema(title = "请求位置")
    private String requestLocal;
    @Schema(title = "请求参数")
    private String requestPayload;
    @Schema(title = "响应参数")
    private String responsePayload;
    @Schema(title = "HTTP状态码")
    private Integer httpStatus;
    @Schema(title = "错误码")
    private String errorCode;
    @Schema(title = "异常类")
    private String exceptionClass;
    @Schema(title = "异常信息")
    private String exceptionMessage;
    @Schema(title = "异常定位")
    private String exceptionLocal;
    @Schema(title = "异常堆栈")
    private String stackTrace;
    @Schema(title = "处理状态")
    private Integer handlingStatus;
    @Schema(title = "处理消息")
    private String handlingRemark;
    @Schema(title = "创建时间")
    private LocalDateTime createTime;
    @Schema(title = "创建人")
    private Long createId;
    @Schema(title = "耗时")
    private Long costTime;
}
